﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Entidades;
using AccesoBD;

namespace PresentacionEscritorio
{
    public partial class frmMostrarDatosPaciente : Form
    {
        private long idBusqueda;

        public frmMostrarDatosPaciente()
        {
            InitializeComponent();
        }

        public frmMostrarDatosPaciente(long idBusqueda): this()
        {
            this.idBusqueda = idBusqueda;
        }
        private void frmMostrarDatosPaciente_Load(object sender, EventArgs e)
        {
            Paciente p = new Paciente();
            Pacientess pacientes = new Pacientess();
            p = pacientes.buscarPaciente(idBusqueda);

            if (p != null)
            {
                //Datos personales
                lblNombreApelldo.Text = p.Nombre + " " + p.Apellido;
                string tipoDocumento =  pacientes.obtenerTipoDocumento(p.CodTipoDoc);
                lblTipoNroDoc.Text = tipoDocumento + " " + p.NroDocumento;
                string sexo = pacientes.obtenerSexo(p.CodSexo);
                lblSexo.Text = sexo ;
                if(p.FechaNacimiento != null)
                {
                    lblFechaNacimiento.Text= Convert.ToDateTime(p.FechaNacimiento.ToString()).ToShortDateString();
                }
                else
                {
                    lblFechaNacimiento.Text= "";
                }
                 if(p.Telefono != null)
                {
                    lblTelefono.Text= p.Telefono.ToString();
                }
                else
                {
                    lblTelefono.Text= "";
                }
                  if(p.Celular != null)
                {
                    lblCelular.Text= p.Celular.ToString();
                }
                else
                {
                    lblCelular.Text="";
                }
                  if(p.Mail != null)
                {
                    lblCorreo.Text= p.Mail.ToString();
                }
                else
                {
                    lblCorreo.Text="";
                }

                //Domicilio
                Domicilio d = new Domicilio();
                d = pacientes.obtenerDomicilio(Convert.ToInt32(p.idDomicilio));
                lblCalle.Text= d.calle;
                lblNroCalle.Text= d.numero.ToString();
                if(d.piso != null)
                {
                    lblPiso.Text=d.piso.ToString();
                }
                else
                {
                    lblPiso.Text = "";
                }
                if(d.Departamento != null)
                {
                    lblDepartamento.Text=d.Departamento.ToString();
                }
                else
                {
                    lblDepartamento.Text = "";
                }
                if(d.codPostal != null)
                {
                    lblCodigoPosta.Text = d.codPostal.ToString();
                }
                else
                {
                    lblCodigoPosta.Text = "";
                }
                Barrio b = new Barrio();
                b = pacientes.obtenerLocalidad(d.idBarrio);
                string localidad = pacientes.obtenerNombreLocalidad(b.idLocalidad);
                lblLocalidad.Text= localidad;
                lblBarrio.Text = b.nombre.ToString();

                //Datos administrativos
                lblHistoriaClinica.Text = p.nroHC.ToString();
                if (p.nroAfiliado != null)
                {
                    lblNroAfiliado.Text = p.nroAfiliado.ToString();
                }
                else
                {
                    lblNroAfiliado.Text = "No es afiliado";

                }

                List<ObraSocialXPaciente> obs = new List<ObraSocialXPaciente>();
                obs = pacientes.obtenerOSdePaciente(p.nroHC);
                if (obs != null )
                {
                    lblObraSocial.Text = "Si Posee";
                    foreach (ObraSocialXPaciente item in obs)
                    {
                        ObraSocial os = new ObraSocial();
                        os = pacientes.nombreOS(Convert.ToInt32(item.idObraSocial));
                        grdObraSocial.Rows.Add(os.nombre, os.siglas, p.nroHC);
                        grdObraSocial.Enabled = true;
                    }
                    
                }
                else
                {
                    lblObraSocial.Text = "No Posee";
                }
                string tipoPaciente = pacientes.obtenerTipoPaciente(Convert.ToInt32(p.idTipoPaciente));
                string estado = pacientes.obtenerEstadoPaciente(Convert.ToInt32(p.idEstadoPaciente));
                lblEstado.Text = estado;
                lblTipoPaciente.Text = tipoPaciente;
                grdObraSocial.Enabled = false;
                pictureBoxTomarFotoPaciente.Image = p.foto;
            }
        }
    }
}
